package com.prd.model;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 *
 * @author lizhaoyi
 * @since 2023-10-03
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("attendance")
public class AttendanceDO implements Serializable {

    private static final long serialVersionUID = 1L;

      @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 上班打卡地点
     */
    private String clockInAddress;

    /**
     * 下班打卡地点
     */
    private String clockOutAddress;

    /**
     * 打卡类型: 0-出勤打卡,1-外勤打卡,2-加班打卡
     */
    private Integer clockType;

    /**
     * 上班打卡时间
     */
    private LocalTime clockIn;

    /**
     * 下班打卡时间
     */
    private LocalTime clockOut;

    /**
     * 考勤日期
     */
    private LocalDate clockDate;

    /**
     * 上班状态: 0-正常,1-迟到,2-早退
     */
    private Integer clockInStatus;

    /**
     * 下班状态: 0-正常,1-迟到,2-早退
     */
    private Integer clockOutStatus;

    /**
     * 班次类型: 0-日班,1-夜班
     */
    private Integer workType;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 用户名称
     */
    private String userName;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 备注
     */
    private String remakes;

    /**
     * 上传图片路径
     */
    private String imgUrl;

    /**
     * 上班规定考勤时间
     */
    private LocalTime requireIn;

    /**
     * 下班规定考勤时间
     */
    private LocalTime requireOut;


}
